Лабораторная работа № 6

Симонова В.И.

Российский университет дружбы народов, Москва, Россия

НКАбд-05-23

12 марта 2024

Докладчик

  • Симонова Виктория Игоревна
  • Студент
  • НКАбд-05-23
  • Российский университет дружбы народов
  • 1132236012@pfur.ru

Цель работы

Приобретение практических навыков взаимодействия пользователя с системой по- средством командной строки.

Задание

  1. Осуществите вход в систему, используя соответствующее имя пользователя.
  2. Запишите в файл file.txt названия файлов, содержащихся в каталоге /etc. Допи- шите в этот же файл названия файлов, содержащихся в вашем домашнем каталоге.
  3. Выведите имена всех файлов из file.txt, имеющих расширение .conf, после чего запишите их в новый текстовой файл conf.txt.
  4. Определите, какие файлы в вашем домашнем каталоге имеют имена, начинавшиеся с символа c? Предложите несколько вариантов, как это сделать.
  5. Выведите на экран (по странично) имена файлов из каталога /etc, начинающиеся с символа h.
  6. Запустите в фоновом режиме процесс, который будет записывать в файл ~/logfile файлы, имена которых начинаются с log.
  7. Удалите файл ~/logfile.
  8. Запустите из консоли в фоновом режиме редактор gedit.
  9. Определите идентификатор процесса gedit, используя команду ps, конвейер и фильтр grep. Как ещё можно определить идентификатор процесса?
  10. Прочтите справку (man) команды kill, после чего используйте её для завершения процесса gedit.
  11. Выполните команды df и du, предварительно получив более подробную информацию об этих командах, с помощью команды man.
  12. Воспользовавшись справкой команды find, выведите имена всех директорий, имею- щихся в вашем домашнем каталоге.

Теоретическое введение

В операционной системе типа Linux взаимодействие пользователя с системой обычно осуществляется с помощью командной строки посредством построчного ввода ко- манд. При этом обычно используется командные интерпретаторы языка shell: /bin/sh; /bin/csh; /bin/ksh. Формат команды. Командой в операционной системе называется записанный по специальным правилам текст (возможно с аргументами), представляющий собой ука- зание на выполнение какой-либо функций (или действий) в операционной системе. Обычно первым словом идёт имя команды, остальной текст — аргументы или опции, конкретизирующие действие. Общий формат команд можно представить следующим образом: <имя_команды><разделитель><аргументы>

Выполнение лабораторной работы

Определяю полное имя домашнего каталога

Опредление каталога

Перехожу в каталог /tmp

Преход в каталог

Просматриваю содержимое каталога tmp

Cодержимое каталога

Использую команду ls -a, чтобы посмотреть скрытые файлы

Скрытые файлы

Использую команду ls -F, чтобы получить информацию о типах файлов

Скрытые файлы

Использую команду ls -l, чтобы вывести на экран подробную информацию о файлах и каталогах. При этом о каждом файле и каталоге будет выведена следующая информация: – тип файла, – право доступа, – число ссылок, – владелец, – размер, – дата последней ревизии, – имя файла или каталога.

Подробная информация о файлах

Использую команду ls -alF, чтобы получить вывод первых трёх команд одновреммено(это наиболее полная работа команды ls)

Полная информация о файлах

Перехожу в каталог /var/spool с помощью команды cd и проверяю наличие подкаталога cron командой ls -F, с утилитой,чтобы удостовериться, что там находится именно каталог

Проверка подкаталога

Перехожу в домашний каталог и вывожу на экран его содержимое ls -l, вижу, что владельцем файлов является мой пользователь

Просмотр содержимого каталога

В домашнем каталоге создаю новый каталог с именем newdir в данном каталоге созадю подкаталог morefun

Создание каталога

Создаю три новых католога и удаляю их одной командой

Создание и удаление каталогов

Пробую удалить каталог ~/newdir командой rm, у меня не получается . Успешно удаляю каталог с помощью

Удаление каталога

С помощью команды man определяю, какую опцию команды ls нужно использовать для просмотра содержимое не только указанного каталога, но и подкаталогов, входящих в него

Опция команды

С помощью команды man определияю набор опций команды ls, позволяющий отсортировать по времени последнего изменения выводимый список содержимого каталога с развёрнутым описанием файлов.

Опция команды

Команда man для просмотра описания команды cd

Описание cd

Команда man для просмотра описания команды pwd

Описание pwd

Команда man для просмотра описания команды mkdir

Описание mkdir

Команда man для просмотра описания команды rmdir

Описание rmdir

Команда man для просмотра описания команды rm

Описание rm

Запускаю команду history

Буфер команд

Выполняю модификацию и исполнение команды из буфера

Выполнение модифицированной команды

Выводы

Ознакомилась с основами интерфейся взаимодействия пользователя с системой UNIX на уровне командной строки.

Контрольные вопросы

  1. Какие потоки ввода вывода вы знаете? В системе по умолчанию открыто три специальных потока: – stdin — стандартный поток ввода (по умолчанию: клавиатура), файловый дескриптор 0; – stdout — стандартный поток вывода (по умолчанию: консоль), файловый дескриптор 1; – stderr — стандартный поток вывод сообщений об ошибках (по умолчанию: консоль), файловый дескриптор 2.

  2. Объясните разницу между операцией > и ». Этот знак > - перенаправление ввода/вывода, а » - перенаправление в режиме добавления.

  3. Что такое конвейер? Конвейер (pipe) служит для объединения простых команд или утилит в цепочки, в которых результат работы предыдущей команды передаётся последующей.

  4. Что такое процесс? Чем это понятие отличается от программы? Главное отличие между программой и процессом заключается в том, что программа - это набор инструкций, который позволяет ЦПУ выполнять определенную задачу, в то время как процесс - это исполняемая программа.

  5. Что такое PID и GID? PPID - (parent process ID) идентификатор родительского процесса. Процесс может порождать и другие процессы. UID, GID - реальные идентификаторы пользователя и его группы, запустившего данный процесс.

  6. Что такое задачи и какая команда позволяет ими управлять? Запущенные фоном программы называются задачами (jobs). Ими можно управлять с помощью команды jobs, которая выводит список запущенных в данный момент задач.

  1. Найдите информацию об утилитах top и htop. Каковы их функции?

Команда htop похожа на команду top по выполняемой функции: они обе показывают информацию о процессах в реальном времени, выводят данные о потреблении системных ресурсов и позволяют искать, останавливать и управлять процессами.

У обеих команд есть свои преимущества. Например, в программе htop реализован очень удобный поиск по процессам, а также их фильтрация. В команде top это не так удобно — нужно знать кнопку для вывода функции поиска.

Зато в top можно разделять область окна и выводить информацию о процессах в соответствии с разными настройками. В целом top намного более гибкая в настройке отображения процессов.

  1. Назовите и дайте характеристику команде поиска файлов. Приведите примеры использования этой команды.

Команда find - это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.

Утилита find предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.

Команда find имеет такой синтаксис: find [папка] [параметры] критерий шаблон [действие] Пример: find /etc -name “p*” -print

  1. Можно ли по контексту (содержанию) найти файл? Если да, то как? find / -type f -exec grep -H ‘текстДляПоиска’ {} ;

  2. Как определить объем свободной памяти на жёстком диске? С помощью команды df -h.

  3. Как определить объем вашего домашнего каталога? С помощью команды du -s.

  4. Как удалить зависший процесс? С помощью команды kill% номер задачи.

Список литературы

  1. Dash, P. Getting Started with Oracle VM VirtualBox / P. Dash. – Packt Publishing Ltd, 2013. – 86 сс.
  2. Colvin, H. VirtualBox: An Ultimate Guide Book on Virtualization with VirtualBox. VirtualBox / H. Colvin. – CreateSpace Independent Publishing Platform, 2015. – 70 сс.
  3. Vugt, S. van. Red Hat RHCSA/RHCE 7 cert guide : Red Hat Enterprise Linux 7 (EX200 and EX300) : Certification Guide. Red Hat RHCSA/RHCE 7 cert guide / S. van Vugt. – Pearson IT Certification, 2016. – 1008 сс.
  4. Робачевский, А. Операционная система UNIX / А. Робачевский, С. Немнюгин, О. Стесик. – 2-е изд. – Санкт-Петербург : БХВ-Петербург, 2010. – 656 сс.
  5. Немет, Э. Unix и Linux: руководство системного администратора. Unix и Linux / Э. Немет, Г. Снайдер, Т.Р. Хейн, Б. Уэйли. – 4-е изд. – Вильямс, 2014. – 1312 сс.
  6. Колисниченко, Д.Н. Самоучитель системного администратора Linux : Системный администратор / Д.Н. Колисниченко. – Санкт-Петербург : БХВ-Петербург, 2011. – 544 сс.
  7. Robbins, A. Bash Pocket Reference / A. Robbins. – O’Reilly Media, 2016. – 156 сс.